/**************************
 �������������ն���ı�׼����
 �����ն������ݽṹΪob
 ���յĹ�����Ϣ
 ob.d0   2000.0����������,����ʱ12:00
 ob.di   ���ڹ�������������
 ob.y    ���ڹ�����,ͬlun.y
 ob.m    ���ڹ�����,ͬlun.m
 ob.d    �����(����)
 ob.dn   ���ڹ����µ�������,ͬlun.d0
 ob.week0�����µ����׵�����,ͬlun.w0
 ob.week ����
 ob.weeki�ڱ����е������
 ob.weekN���µ�������
 ���յ�ũ����Ϣ
 ob.Ldi  ��ũ�����׵ı�����,0��Ӧ��һ
 ob.Ldc  �����(ũ��),��'��һ,������'
 ob.cur_dz �ඬ��������
 ob.cur_xz ������������
 ob.cur_lq �����������
 ob.cur_mz ��â�ֵ�����
 ob.cur_xs ��С�������
 ob.Lmc  �����
 ob.Ldn  �´�С
 ob.Lleap��״��(ֵΪ'��'��մ�)
 ob.Lmc2 �¸������,�жϳ�ϦʱҪ�õ�
 ���յ�ũ����ꡢ�¡��ա�ʱ������
 ob.Lyear  ũ�����(10����,1984������,�ֽ�����������Ҳ�����Ǵ���,�ڳ�����ѡ��һ��)
 ob.Lyear2 ��֧����
 ob.Lmonth  ���´���,1998��12��7��(��ѩ)��ʼ������н������,0Ϊ����
 ob.Lmonth2 ��֧����
 ob.Lday2  ����
 ob.Ltime2 ��ʱ
 ob.XiZ ����
 ���յĻ�����Ϣ
 ob.Hyear  ��(����)
 ob.Hmonth ��(����)
 ob.Hday   ��(����)
 ���յ�������Ϣ
 ob.yxmc �������
 ob.yxjd ����ʱ��(������)
 ob.yxsj ����ʱ�䴮
 ob.jqmc �������
 ob.jqjd ����ʱ��(������)
 ob.jqsj ����ʱ�䴮
 *****************************/

/*****************************
 �������������¶������ݽṹ����
 �����¶�������Ϊlun
 lun.w0  ���µ�һ�������
 lun.y   �������
 lun.m   �����·�
 lun.d0  ���׵�J2000.0�������������
 lun.dn  ���µ�����
 lun.Ly  ����ĸ�֧����
 lun.ShX �������Ф
 lun[0]  ���µ�1��(�ն���)
 lun[1]  ���µ�2��(�ն���)
 ����
 /******************************

 /******************************
 ���³����ϸ��������Ϲ淶������������(����)���󣬱غ�������ݽṹ���ݡ�����������ͨ��Lunar����õ��¶���
 �»��¶������ݽṹ�����䣺�������oba.getDayName(ob,ob)������չob����ġ�������Ϣ��������ֵ��ob.A��ob.B��ob.C��
 ���ĳЩ��Ҫ���û�������������չob
 ******************************/


//=============================
//�������,JD����Ĳ���
//public�ж���ĳ�Ա����ֱ��ʹ��
//=============================
var oba = { //�������
    //private˽�г�Ա����
    wFtv: new Array( //ĳ�µĵڼ������ڼ�,���2������һָ�����׿�ʼ˳���ҵ���2��������һ��
        '0150I���������', //һ�µ����һ�������գ��µ����һ�������գ�
        '0520.���ĸ�׽�',
        '0530Iȫ�������',
        '0630.���׽�',
        '0730.��ū�۹����',
        '0932I��ʺ�ƽ��',
        '0940.������˽� �����ͯ��',
        '0950I���纣����',
        '1011.���ס����',
        '1013I��ʼ�����Ȼ�ֺ���(������)',
        '1144I�ж���'
    ),
    sFtv: '', //���ձ�,��init��ʼ��

    //public���г�Ա����
    init: function () { //��ʼ��
        var i;
        var s =  //�������,#��ʾ�ż���,I��ʾ��Ҫ���ջ������
            '01#Ԫ��|' //1��
            + '02I����ʪ����,10.��������,14I���˽�|' //2��

            + '01.��ʺ�����,03.ȫ�����,05.1963-9999ѧ�׷������,08I��Ů��,12Iֲ����,12.1925-9999����ɽ����������,14.��ʾ�����,' //3��
            + '15I1983-9999�����Ȩ����,17.�й��ҽ��,17.��ʺ�����,21.����ɭ����,21.����������ӹ����,21.��������,22I����ˮ��,'
            + '23I����������,24.1982-9999������ν�˲���,25.ȫ����Сѧ��ȫ������,30.����˹̹������|'

            + '01I1564-9999���˽�,01.ȫ��������˶���(����),01.˰������(����),07I����������,22I���������,23.����ͼ��Ͱ�Ȩ��,24.�Ƿ����Ź�������|' //4��

            + '01#1889-9999�Ͷ���,04I�����,05.��ȱ����������,08.�����ʮ����,12I��ʻ�ʿ��,15I��ʼ�ͥ��,17.��ʵ�����,18.��ʲ������,' //5��
            + '20.ȫ��ѧ��Ӫ����,23.���ţ����,31I����������|'

            + '01I1925-9999��ʶ�ͯ��,05.���绷��������,06.ȫ������,17.���λ�Į���͸ɺ���,23.��ʰ���ƥ����,25.ȫ��������,26I��ʽ���|' //6��

            + '01I1997-9999��ۻع������,01I1921-9999�й�����,01.���罨����,02.������������,07I1937-9999����ս�������,11I�����˿���,30.���޸�Ů��|' //7��

            + '01I1927-9999�����,08.�й����ӽ�(�ְֽ�)|' //8��

            + '03I1945-9999����ս��ʤ�����,08.1966-9999���ɨä��,08.������Ź�������,09.ë����������,10I�й��ʦ��,14.������������,' //9��
            + '16.��ʳ����㱣����,18I�š�һ���±������,20.��ʰ�����,27.����������,28I���ӵ���|'

            + '01#1949-9999�����,01.����������,01.������˽�,02#1949-9999����ڼ���,02.��ʺ�ƽ���������ɶ�����,03#1949-9999����ڼ���,' //10��
            + '04.���綯����,06.���˽�,08.ȫ���Ѫѹ��,08.�����Ӿ���,09.����������,09.���������,10I�������������,10.���羫��������,'
            + '13.���籣����,13.��ʽ�ʦ��,14.�����׼��,15.���ä�˽�(�����Ƚ�),16.������ʳ��,17.�������ƶ����,22.���紫ͳҽҩ��,24.���Ϲ���,31.�����ڼ���|'

            + '07.1917-9999ʮ�����������������,08.�й������,09.ȫ�������ȫ�������,10.���������,11.��ʿ�ѧ���ƽ��(����������һ��),12.����ɽ����������,'
            + '14.����������,17.��ʴ�ѧ���,17.����ѧ���,20.������,21.������,21.�����ʺ���,21.���������,22.������,29.�����Ԯ����˹̹��������|' //11��

            + '01I1988-9999���簬�̲���,03.����м�����,05.��ʾ��ú���ᷢչ־Ը��Ա��,08.��ʶ�ͯ������,09.����������,10.������Ȩ��,' //12��
            + '12I�����±������,13I�Ͼ�����ɱ(1937��)������,20.���Żع����,21.���������,24Iƽ��ҹ,25Iʥ����,26.ë�󶫵�������';

        this.sFtv = s.split('|');
        for (i = 0; i < this.sFtv.length; i++) this.sFtv[i] = this.sFtv[i].split(',');

    },

    getDayName: function (u, r) { //ȡĳ�ս���,�����ն���
        /****************
         ����������
         ���������u
         ����ĳ�ս�����Ϣ
         r.A ��Ҫϲ���������(�ɽ���������ú�)
         r.B ��Ҫ�������
         r.C �����������(����һ��)
         r.Fjia �ż�����(���������������ú�)
         *****************/
        var m0 = (u.m < 10 ? '0' : '') + u.m;
        var d0 = (u.d < 10 ? '0' : '') + u.d;
        var i, j, s, s2, type;

        if (u.week == 0 || u.week == 6) r.Fjia = 1; //�����ջ�������ż�

        //���������ڲ���
        for (i = 0; i < this.sFtv[u.m - 1].length; i++) { //������ջ������,�����½��ձ�
            s = this.sFtv[u.m - 1][i];
            if (s.substr(0, 2) != d0) continue;
            s = s.substr(2, s.length - 2);
            type = s.substr(0, 1);
            if (s.substr(5, 1) == '-') { //�����޵�
                if (u.y < (s.substr(1, 4) - 0) || u.y > (s.substr(6, 4) - 0)) continue;
                s = s.substr(10, s.length - 10);
            } else {
                if (u.y < 1850) continue;
                s = s.substr(1, s.length - 1);
            }
            if (type == '#') r.A += s + ' ', r.Fjia = 1; //�żٵĽ���
            if (type == 'I') r.B += s + ' '; //��Ҫ
            if (type == '.') r.C += s + ' '; //����
        }

        //���ܲ���
        var w = u.weeki;
        if (u.week >= u.week0) w += 1;
        var w2 = w;
        if (u.weeki == u.weekN - 1) w2 = 5;
        w = m0 + w + u.week;  //d���ڱ��µĵڼ�������ĳ
        w2 = m0 + w2 + u.week;

        for (i = 0; i < this.wFtv.length; i++) {
            s = this.wFtv[i];
            s2 = s.substr(0, 4);
            if (s2 != w && s2 != w2) continue;
            type = s.substr(4, 1);
            s = s.substr(5, s.length - 5);
            if (type == '#') r.A += s + ' ', r.Fjia = 1;
            if (type == 'I') r.B += s + ' ';
            if (type == '.') r.C += s + ' ';
        }
    },
    getHuiLi: function (d0, r) { //�������
                                 //�����㷨ʹ��Excel���Եõ�,����ʱ��Ҫ�������ٽ������ٽ�
        var z, y, m, d;
        d = d0 + 503105;
        z = int2(d / 10631);       //10631Ϊһ����(30��)
        d -= z * 10631;
        y = int2((d + 0.5) / 354.366); //��0.5�������Ǳ�֤������ȷ(һ���е������ǵ�2,5,7,10,13,16,18,21,24,26,29��)
        d -= int2(y * 354.366 + 0.5);
        m = int2((d + 0.11) / 29.51);  //���Ӽ�0.11,��ĸ��0.01�������ǵ�354��355��ĵ��·ֱ���Ϊ12��(m=11)
        d -= int2(m * 29.5 + 0.5);
        r.Hyear = z * 30 + y + 1;
        r.Hmonth = m + 1;
        r.Hday = d + 1;
    }

};

oba.init();


//=============================
//ũ�����(����ͨ�ú����)
//public�ж���ĳ�Ա����ֱ��ʹ��
//=============================
var obb = { //ũ�����
    //private˽�г�Ա����
    JNB: '', //�����,��init��ʼ��

    //public���г�Ա����
    //���¼����ǹ���ֻ�����
    numCn: new Array('��', 'һ', '��', '��', '��', '��', '��', '��', '��', '��', 'ʮ'), //��������
    Gan: new Array("��", "��", "��", "��", "��", "��", "��", "��", "��", "��"),
    Zhi: new Array("��", "��", "��", "î", "��", "��", "��", "δ", "��", "��", "��", "��"),
    ShX: new Array("��", "ţ", "��", "��", "��", "��", "��", "��", "��", "��", "��", "��"),
    XiZ: new Array('Ħ��', 'ˮƿ', '˫��', '����', '��ţ', '˫��', '��з', 'ʨ��', '��Ů', '���', '��Ы', '����'),
    yxmc: new Array("˷", "����", "��", "����"), //������Ʊ�
    jqmc: new Array('����', 'С��', '��', '����', '��ˮ', '����', '����', '����', '����', '����', 'С��', 'â��', '����', 'С��', '����', '����', '����', '��¶', '���', '��¶', '˪��', '����', 'Сѩ', '��ѩ'),
    ymc: new Array('ʮһ', 'ʮ��', '��', '��', '��', '��', '��', '��', '��', '��', '��', 'ʮ'), //�����,����
    rmc: new Array('��һ', '����', '����', '����', '����', '����', '����', '����', '����', '��ʮ', 'ʮһ', 'ʮ��', 'ʮ��', 'ʮ��', 'ʮ��', 'ʮ��', 'ʮ��', 'ʮ��', 'ʮ��', '��ʮ', 'إһ', 'إ��', 'إ��', 'إ��', 'إ��', 'إ��', 'إ��', 'إ��', 'إ��', '��ʮ', 'ئһ'),

    init: function () { //��ʼ��
        var i;
        //������ݽṹ������ö��ŷֿ���ÿ7������һ����ţ���ʽΪ:��ʼ��Ԫ,ʹ������,��������,����,����,�ʵ�,���
        var s =
            '-2069,45,0,��,��,,��,-2024,10,0,��,��,,��,-2014,25,0,��,̫��,,̫��,-1986,14,0,��,�ٿ�,,�ٿ�,-1972,28,0,��,��,,��,-1944,2,0,��,����,,����,-1942,38,0,��,���,,���,-1904,21,0,��,�ٿ�,,�ٿ�,-1883,17,0,��,��,,��,-1866,26,0,��,��,,��,-1840,18,0,��,â,,â,-1822,16,0,��,й,,й,-1806,59,0,��,����,,����,-1747,21,0,��,��,,��,-1726,21,0,��,��,,��,'
            + '-1705,31,0,��,�׼�,,�׼�,-1674,11,0,��,��,,��,-1663,11,0,��,��,,��,-1652,53,0,��,��,,��,-1599,11,0,��,��̫��,��,����,-1588,1,0,��,�̴���,̫��,�̴���,-1587,2,0,��,����,��ʤ,���,-1585,4,0,��,ܲ��,��ӹ,����,-1581,12,0,��,̫��,����,̫��,-1569,29,0,��,����,��Ѥ,�ֶ�,-1540,25,0,��,����,�ӱ�,̫��,-1515,17,0,��,����,�Ӹ�,С��,-1498,13,0,��,Ԫ��,����,Ӻ��,-1485,75,0,��,����,�Ӂ�,̫��,-1410,11,0,��,Т����,��ׯ,�ٶ�,'
            + '-1399,15,0,��,˼��,�ӷ�,����,-1384,9,0,��,ǰƽ��,����,�Ӂ���,-1375,19,0,��,����,����,����,-1356,16,0,��,����,�ӵ�,����,-1340,5,0,��,����,����,�ּ�,-1335,9,0,��,ׯ��,����,�涡,-1326,6,0,��,����,�Ӹ�,�ϸ�,-1320,7,0,��,����,�Ӻ�,����,-1313,42,0,��,����,��Ѯ,�̸�,-1271,21,0,��,����,����,С��,-1250,1,0,��,����,����,С��,-1249,59,0,��,����,����,�䶡,-1190,2,0,��,��ƽ��,��Ծ,���,-1188,33,0,��,����,����,���,-1155,8,0,��,����,����,����,'
            + '-1147,1,0,��,����,����,��,-1146,35,0,��,����,����,����,-1111,11,0,��,����,����,�Ķ�,-1100,26,0,��,����,����,����,-1074,29,0,��,����,����,����,-1045,4,0,����,����,����,����,-1041,22,0,����,����,����,����,-1019,25,0,����,����,����,����,-994,19,0,����,����,���,����,-975,54,0,����,����,����,����,-921,23,0,����,����,����,����,-898,8,0,����,ܲ��,����,ܲ��,-890,6,0,����,Т��,���ٷ�,Т��,-884,8,0,����,����,����,����,-876,36,0,����,����,����,����,'
            + '-840,14,0,����,����,����,����,-826,46,0,����,����,����,����,-780,11,0,����,����,������,����,-769,51,0,����,ƽ��,���˾�,ƽ��,-718,23,0,����,����,����,����,-695,15,0,����,ׯ��,��٢,ׯ��,-680,5,0,����,���,������,���,-675,25,0,����,����,����,����,-650,33,0,����,����,��֣,����,-617,6,0,����,����,���ɳ�,����,-611,6,0,����,����,����,����,-605,21,0,����,����,���,����,-584,14,0,����,����,����,����,-570,27,0,����,����,��й��,����,-543,24,0,����,����,����,����,'
            + '-519,1,0,����,����,����,����,-518,44,0,����,����,����,����,-474,7,0,����,Ԫ��,����,Ԫ��,-467,27,0,����,�궨��,����,�궨��,-440,1,0,����,����-˼��,��ȥ��-����,����-˼��,-439,15,0,����,����,����,����,-424,24,0,����,������,����,������,-400,26,0,����,����,����,����,-374,7,0,����,����,��ϲ,����,-367,48,0,����,����,����,����,-319,6,0,����,������,����,������,-313,8,0,����,����,����,����,-305,56,0,ս��-��,������,����,������,-249,1,0,ս��-��,Т����,����,Т����,-248,3,0,ս��-��,ׯ����,���ӳ�,ׯ����,'
            + '-245,25,0,��,����,����,����,-220,12,0,��,ʼ�ʵ�,����,ʼ��,-208,3,0,��,�����ʵ�,���,����,-205,12,0,����,�ߵ�,����,�ߵ�,-193,7,0,����,�ݵ�,��ӯ,�ݵ�,-186,8,0,����,�ߺ�,����,�ߺ�,-178,16,0,����,�ĵ�,����,�ĵ�,-162,7,0,����,�ĵ�,����,��Ԫ,-155,7,0,����,����,����,����,-148,6,0,����,����,����,��Ԫ,-142,3,0,����,����,����,��Ԫ,-139,6,0,����,���,����,��Ԫ,-133,6,0,����,���,����,Ԫ��,-127,6,0,����,���,����,Ԫ˷,-121,6,0,����,���,����,Ԫ��,'
            + '-115,6,0,����,���,����,Ԫ��,-109,6,0,����,���,����,Ԫ��,-103,4,0,����,���,����,̫��,-99,4,0,����,���,����,�캺,-95,4,0,����,���,����,̫ʼ,-91,4,0,����,���,����,����,-87,2,0,����,���,����,��Ԫ,-85,6,0,����,�ѵ�,������,ʼԪ,-79,6,0,����,�ѵ�,������,Ԫ��,-73,1,0,����,�ѵ�,������,Ԫƽ,-72,4,0,����,���,��ѯ,��ʼ,-68,4,0,����,���,��ѯ,�ؽ�,-64,4,0,����,���,��ѯ,Ԫ��,-60,4,0,����,���,��ѯ,���,-56,4,0,����,���,��ѯ,���,'
            + '-52,4,0,����,���,��ѯ,��¶,-48,1,0,����,���,��ѯ,����,-47,5,0,����,Ԫ��,���],��Ԫ,-42,5,0,����,Ԫ��,���],����,-37,5,0,����,Ԫ��,���],����,-32,1,0,����,Ԫ��,���],����,-31,4,0,����,�ɵ�,����,��ʼ,-27,4,0,����,�ɵ�,����,��ƽ,-23,4,0,����,�ɵ�,����,��˷,-19,4,0,����,�ɵ�,����,���,-15,4,0,����,�ɵ�,����,��ʼ,-11,4,0,����,�ɵ�,����,Ԫ��,-7,2,0,����,�ɵ�,����,���,-5,4,0,����,����,����,��ƽ,-1,2,0,����,����,����,Ԫ��,'
            + '1,5,0,����,ƽ��,����,Ԫʼ,6,2,0,����,����Ӥ,��ç����,����,8,1,0,����,����Ӥ,��ç����,��ʼ,9,5,0,��,,��ç,ʼ����,14,6,0,��,,��ç,���,20,3,0,��,,��ç,�ػ�,23,2,0,����,��ʼ��,����,��ʼ,25,31,0,����,�����,����,����,56,2,0,����,�����,����,������Ԫ,58,18,0,����,����,��ׯ,��ƽ,76,8,0,����,�µ�,����,����,84,3,0,����,�µ�,����,Ԫ��,87,2,0,����,�µ�,����,�º�,89,16,0,����,�͵�,����,��Ԫ,105,1,0,����,�͵�,����,Ԫ��,'
            + '106,1,0,����,���,��¡,��ƽ,107,7,0,����,����,����,����,114,6,0,����,����,����,Ԫ��,120,1,0,����,����,����,����,121,1,0,����,����,����,����,122,4,0,����,����,����,�ӹ�,126,6,0,����,˳��,����,����,132,4,0,����,˳��,����,����,136,6,0,����,˳��,����,����,142,2,0,����,˳��,����,����,144,1,0,����,˳��,����,����,145,1,0,����,���,����,����,146,1,0,����,�ʵ�,����,����,147,3,0,����,����,��־,����,150,1,0,����,����,��־,��ƽ,'
            + '151,2,0,����,����,��־,Ԫ��,153,2,0,����,����,��־,����,155,3,0,����,����,��־,����,158,9,0,����,����,��־,����,167,1,0,����,����,��־,����,168,4,0,����,���,����,����,172,5,0,����,���,����,��ƽ,178,6,0,����,���,����,���,184,6,0,����,���,����,��ƽ,190,4,0,����,�׵�,��Э,��ƽ,194,2,0,����,�׵�,��Э,��ƽ,196,24,0,����,�׵�,��Э,����,220,7,0,���-κ,�ĵ�,��ا,�Ƴ�,227,6,0,���-κ,����,�܅�,̫��,233,4,0,���-κ,����,�܅�,����,'
            + '237,3,0,���-κ,����,�܅�,����,240,9,0,���-κ,����,�ܷ�,��ʼ,249,5,0,���-κ,����,�ܷ�,��ƽ,254,2,0,���-κ,�߹��繫,����,��Ԫ,256,4,0,���-κ,�߹��繫,����,��¶,260,4,0,���-κ,Ԫ��,��ۼ,��Ԫ,264,1,0,���-κ,Ԫ��,��ۼ,����,265,10,0,����,���,˾����,̩ʼ,275,5,0,����,���,˾����,����,280,10,0,����,���,˾����,̫��,290,10,0,����,���,˾����,̫��,300,1,0,����,�ݵ�,˾����,����,301,1,0,����,�ݵ�,˾����,����,302,2,0,����,�ݵ�,˾����,̫��,304,2,0,����,�ݵ�,˾����,����,'
            + '306,1,0,����,�ݵ�,˾����,����,307,6,0,����,����,˾���,����,313,4,0,����,?�,˾����,����,317,1,0,����,Ԫ��,˾���,����,318,4,0,����,Ԫ��,˾���,����,322,1,0,����,Ԫ��,˾���,����,323,3,0,����,����,˾����,̫��,326,9,0,����,�ɵ�,˾����,�̺�,335,8,0,����,�ɵ�,˾����,�̿�,343,2,0,����,����,˾����,��Ԫ,345,12,0,����,�µ�,˾����,����,357,5,0,����,�µ�,˾����,��ƽ,362,1,0,����,����,˾��ا,¡��,363,3,0,����,����,˾��ا,����,366,5,0,����,������,˾����,̫��,'
            + '371,2,0,����,���ĵ�,˾����,�̰�,373,3,0,����,Т���,˾����,帿�,376,21,0,����,Т���,˾����,̫Ԫ,397,5,0,����,����,˾�����,¡��,402,3,0,����,����,˾�����,Ԫ��,405,14,0,����,����,˾�����,����,419,1,0,����,����,˾�����,Ԫ��,420,3,0,�ϳ�/��,���,��ԣ,����,423,2,0,�ϳ�/��,�ٵ�,�����,��ƽ,424,30,0,�ϳ�/��,�ĵ�,���x¡,Ԫ��,454,3,0,�ϳ�/��,Т��,������,Т��,457,8,0,�ϳ�/��,Т��,������,����,465,1,0,�ϳ�/��,�ϵ�,����ҵ,����,465,1,0,�ϳ�/��,�ϵ�,����ҵ,����,'
            + '465,7,0,�ϳ�/��,����,����,̩ʼ,472,1,0,�ϳ�/��,����,����,̩ԥ,473,5,0,�ϳ�/��,�ϵ�,����,Ԫ��,477,3,0,�ϳ�/��,˳��,��׼,����,479,4,0,�ϳ�/��,�ߵ�,������,��Ԫ,483,11,0,�ϳ�/��,���,����,����,494,1,0,�ϳ�/��,������,����ҵ,¡��,494,1,0,�ϳ�/��,������,������,����,494,5,0,�ϳ�/��,����,���,����,498,1,0,�ϳ�/��,����,���,��̩,499,3,0,�ϳ�/��,�����,����,����,501,2,0,�ϳ�/��,�͵�,������,����,502,18,0,�ϳ�/��,���,����,���,520,8,0,�ϳ�/��,���,����,��ͨ,527,3,0,�ϳ�/��,���,����,��ͨ,'
            + '529,6,0,�ϳ�/��,���,����,�д�ͨ,535,12,0,�ϳ�/��,���,����,��ͬ,546,2,0,�ϳ�/��,���,����,�д�ͬ,547,3,0,�ϳ�/��,���,����,̫��,550,2,0,�ϳ�/��,���ĵ�,����,��,551,2,0,�ϳ�/��,ԥ����,����,����,552,4,0,�ϳ�/��,Ԫ��,����,��ʥ,555,1,0,�ϳ�/��,������,��Ԩ��,���,555,2,0,�ϳ�/��,����,������,��̩,556,2,0,�ϳ�/��,����,������,̫ƽ,557,3,0,�ϳ�/��,���,�°���,̫ƽ,560,7,0,�ϳ�/��,�ĵ�,���`,���,566,1,0,�ϳ�/��,�ĵ�,���`,�쿵,567,2,0,�ϳ�/��,�ϵ�,�²���,���,569,14,0,�ϳ�/��,���,����,̫��,'
            + '583,4,0,�ϳ�/��,����,���屦,����,587,3,0,�ϳ�/��,����,���屦,����,555,8,0,�ϳ�/����,���,��Ԉ,��,562,24,0,�ϳ�/����,����,����,�챣,586,2,0,�ϳ�/����,�칫,����,����,386,11,0,����/��κ,�����,�ذϹ�,�ǹ�,396,3,0,����/��κ,�����,�ذϹ�,��ʼ,398,7,0,����/��κ,�����,�ذϹ�,����,404,6,0,����/��κ,�����,�ذϹ�,���,409,5,0,����/��κ,��Ԫ��,�ذ���,����,414,3,0,����/��κ,��Ԫ��,�ذ���,����,416,8,0,����/��κ,��Ԫ��,�ذ���,̩��,424,5,0,����/��κ,̫���,�ذ���,ʼ��,428,4,0,����/��κ,̫���,�ذ���,���,432,3,0,����/��κ,̫���,�ذ���,�Ӻ�,'
            + '435,6,0,����/��κ,̫���,�ذ���,̫��,440,12,0,����/��κ,̫���,�ذ���,̫ƽ���,451,2,0,����/��κ,̫���,�ذ���,��ƽ,452,1,0,����/��κ,�ϰ���,�ذ���,��ƽ,452,3,0,����/��κ,�ĳɵ�,�ذϿ�,�˰�,454,2,0,����/��κ,�ĳɵ�,�ذϿ�,�˹�,455,5,0,����/��κ,�ĳɵ�,�ذϿ�,̫��,460,6,0,����/��κ,�ĳɵ�,�ذϿ�,��ƽ,466,2,0,����/��κ,���ĵ�,�ذϺ�,�찲,467,5,0,����/��κ,���ĵ�,�ذϺ�,����,471,6,0,����/��κ,���ĵ�,�ذϺ�,����,476,1,0,����/��κ,Т�ĵ�,�ذϺ�,����,477,23,0,����/��κ,Т�ĵ�,�ذϺ�,̫��,500,4,0,����/��κ,�����,Ԫ�,����,504,5,0,����/��κ,�����,Ԫ�,��ʼ,'
            + '508,5,0,����/��κ,�����,Ԫ�,��ƽ,512,4,0,����/��κ,�����,Ԫ�,�Ӳ�,516,3,0,����/��κ,Т����,Ԫڼ,��ƽ,518,3,0,����/��κ,Т����,Ԫڼ,���,520,6,0,����/��κ,Т����,Ԫڼ,���,525,3,0,����/��κ,Т����,Ԫڼ,Т��,528,1,0,����/��κ,Т����,Ԫڼ,��̩,528,1,0,����/��κ,Тׯ��,Ԫ����,����,528,3,0,����/��κ,Тׯ��,Ԫ����,����,530,2,0,����/��κ,������,Ԫ��,����,531,2,0,����/��κ,���ɵ�,Ԫ��,��̩,531,2,0,����/��κ,������,Ԫ��,����,532,1,0,����/��κ,Т���,Ԫ��,̫��,532,1,0,����/��κ,Т���,Ԫ��,����,532,3,0,����/��κ,Т���,Ԫ��,����,'
            + '534,4,0,����/��κ,Т����,Ԫ�Ƽ�,��ƽ,538,2,0,����/��κ,Т����,Ԫ�Ƽ�,Ԫ��,539,4,0,����/��κ,Т����,Ԫ�Ƽ�,�˺�,543,8,0,����/��κ,Т����,Ԫ�Ƽ�,�䶨,535,17,0,����/��κ,�ĵ�,Ԫ����,��ͳ,552,3,0,����/��κ,�ϵ�,Ԫ��,��ͳ,554,3,0,����/��κ,����,Ԫ��,��ͳ,550,10,0,����/����,�����,����,�챣,560,1,0,����/����,�ϵ�,����,Ǭ��,560,2,0,����/����,Т�ѵ�,����,�ʽ�,561,2,0,����/����,��ɵ�,��տ,̫��,562,4,0,����/����,��ɵ�,��տ,����,565,5,0,����/����,�¹�,��γ,��ͳ,570,7,0,����/����,�¹�,��γ,��ƽ,576,2,0,����/����,�¹�,��γ,¡��,'
            + '576,1,0,����/����,������,������,�²�,577,1,0,����/����,����,�ߺ�,�й�,557,1,0,����/����,�ɵ�,���ľ�,��,557,2,0,����/����,����,����ع,��,559,2,0,����/����,����,����ع,���,561,5,0,����/����,���,������,����,566,7,0,����/����,���,������,���,572,7,0,����/����,���,������,����,578,1,0,����/����,���,������,����,579,1,0,����/����,���,����ٚ,���,579,2,0,����/����,����,������,����,581,1,0,����/����,����,������,��,581,20,0,��,�ĵ�,���,����,601,4,0,��,�ĵ�,���,����,605,13,0,��,쾵�,���,��ҵ,'
            + '617,2,0,��,����,��٧,����,618,9,0,��,����,��Ԩ,���,627,23,0,��,̫��,������,���,650,6,0,��,����,����,����,656,6,0,��,����,����,����,661,3,0,��,����,����,��˷,664,2,0,��,����,����,���,666,3,0,��,����,����,Ǭ��,668,3,0,��,����,����,����,670,5,0,��,����,����,�̺�,674,3,0,��,����,����,��Ԫ,676,4,0,��,����,����,�Ƿ�,679,2,0,��,����,����,��¶,680,2,0,��,����,����,��¡,681,2,0,��,����,����,��ҫ,'
            + '682,2,0,��,����,����,����,683,1,0,��,����,����,���,684,1,0,��,����,����,��ʥ,684,1,0,��,���,�,����,684,1,0,����,�����,���,��լ,685,4,0,����,�����,���,����,689,1,0,����,�����,���,����,689,2,0,����,�����,���,�س�,690,3,0,����,�����,���,����,692,1,0,����,�����,���,����,692,3,0,����,�����,���,����,694,1,0,����,�����,���,����,695,1,0,����,�����,���,֤ʥ,695,2,0,����,�����,���,�������,696,1,0,����,�����,���,����Ƿ�,'
            + '696,2,0,����,�����,���,����ͨ��,697,1,0,����,�����,���,��,698,3,0,����,�����,���,ʥ��,700,1,0,����,�����,���,����,701,1,0,����,�����,���,����,701,4,0,����,�����,���,����,705,1,0,����,�����,����,����,705,2,0,��,����,����,����,707,4,0,��,����,����,����,710,1,0,��,����,����ï,��¡,710,2,0,��,���,�,����,712,1,0,��,���,�,̫��,712,1,0,��,���,�,�Ӻ�,712,2,0,��,����,��¡��,����,713,29,0,��,����,��¡��,��Ԫ,'
            + '742,15,0,��,����,��¡��,�챦,756,3,0,��,����,���,����,758,3,0,��,����,���,ǬԪ,760,3,0,��,����,���,��Ԫ,762,2,0,��,����,���,��Ӧ,763,2,0,��,����,��ԥ,���,765,2,0,��,����,���,��̩,766,14,0,��,����,���,����,780,4,0,��,����,����,����,784,1,0,��,����,����,��Ԫ,785,21,0,��,����,����,��Ԫ,805,1,0,��,˳��,����,����,806,15,0,��,����,�,Ԫ��,821,4,0,��,����,���,����,825,3,0,��,����,��տ,����,'
            + '827,9,0,��,����,�,���,836,5,0,��,����,�,����,841,6,0,��,����,����,���,847,14,0,��,����,���,����,860,15,0,��,����,���,��ͨ,874,6,0,��,����,����,Ǭ��,880,2,0,��,����,����,����,881,5,0,��,����,����,�к�,885,4,0,��,����,����,����,888,1,0,��,����,����,�ĵ�,889,1,0,��,����,����,���,890,2,0,��,����,����,��˳,892,2,0,��,����,����,����,894,5,0,��,����,����,Ǭ��,898,4,0,��,����,����,�⻯,'
            + '901,4,0,��,����,����,�츴,904,1,0,��,����,����,����,905,3,1,��,�����,��ף,����,907,5,0,���/��,̫��,����,��ƽ,911,2,0,���/��,̫��,����,Ǭ��,913,1,0,���/��,����,���ѹ�,����,913,3,2,���/��,ĩ��,������,Ǭ��,915,7,0,���/��,ĩ��,������,����,921,3,0,���/��,ĩ��,������,���,923,4,0,���/��,ׯ��,����,ͬ��,926,5,0,���/��,����,����Դ,���,930,4,0,���/��,����,����Դ,����,934,1,0,���/��,�ɵ�,��Ӻ�,Ӧ˳,934,3,0,���/��,º��,�����,��̩,936,6,0,���/��,����,ʯ���,�츣,'
            + '942,2,6,���/��,����,ʯ�ع�,�츣,944,3,0,���/��,����,ʯ�ع�,����,947,12,0,���/��,����,��֪Զ,�츣,948,1,0,���/��,����,���еv,Ǭ�v,948,3,0,���/��,����,���еv,Ǭ�v,951,3,0,���/��,̫��,����,��˳,954,1,0,���/��,̫��,����,�Ե�,954,6,0,���/��,����,����,�Ե�,959,2,5,���/��,����,����ѵ,�Ե�,960,4,0,����,̫��,�Կ�ط,��¡,963,6,0,����,̫��,�Կ�ط,Ǭ��,968,9,0,����,̫��,�Կ�ط,����,976,9,0,����,̫��,����,̫ƽ�˹�,984,4,0,����,̫��,����,Ӻ��,988,2,0,����,̫��,����,�˹�,'
            + '990,5,0,����,̫��,����,����,995,3,0,����,̫��,����,����,998,6,0,����,����,�Ժ�,��ƽ,1004,4,0,����,����,�Ժ�,����,1008,9,0,����,����,�Ժ�,�������,1017,5,0,����,����,�Ժ�,����,1022,1,0,����,����,�Ժ�,Ǭ��,1023,10,0,����,����,����,��ʥ,1032,2,0,����,����,����,����,1034,5,0,����,����,����,���v,1038,3,0,����,����,����,��Ԫ,1040,2,0,����,����,����,����,1041,8,0,����,����,����,����,1049,6,0,����,����,����,�ʵv,1054,3,0,����,����,����,����,'
            + '1056,8,0,����,����,����,�εv,1064,4,0,����,Ӣ��,����,��ƽ,1068,10,0,����,����,����,����,1078,8,0,����,����,����,Ԫ��,1086,9,0,����,����,����,Ԫ�v,1094,5,0,����,����,����,��ʥ,1098,3,0,����,����,����,Ԫ��,1101,1,0,����,����,��٥,���о���,1102,5,0,����,����,��٥,����,1107,4,0,����,����,��٥,���,1111,8,0,����,����,��٥,����,1118,2,0,����,����,��٥,�غ�,1119,7,0,����,����,��٥,���,1126,2,0,����,����,�Ի�,����,1127,4,0,����,����,�Թ�,����,'
            + '1131,32,0,����,����,�Թ�,����,1163,2,0,����,Т��,����,¡��,1165,9,0,����,Т��,����,Ǭ��,1174,16,0,����,Т��,����,����,1190,5,0,����,����,�Ա�,����,1195,6,0,����,����,����,��Ԫ,1201,4,0,����,����,����,��̩,1205,3,0,����,����,����,����,1208,17,0,����,����,����,�ζ�,1225,3,0,����,����,����,����,1228,6,0,����,����,����,�ܶ�,1234,3,0,����,����,����,��ƽ,1237,4,0,����,����,����,����,1241,12,0,����,����,����,���v,1253,6,0,����,����,����,���v,'
            + '1259,1,0,����,����,����,����,1260,5,0,����,����,����,����,1265,10,0,����,����,�ԶQ,�̴�,1275,2,0,����,����,��(�ϡ��ա��¡�˿��),�µv ,1276,3,0,����,����,��(�ϡ��ա��¡���),����,1278,2,0,����,�ەm,�ԕm,����,1271,24,7,Ԫ,����,�ö�ֻ�������,��Ԫ,1295,3,0,Ԫ,����,�ö�ֻ����¶�,Ԫ��,1297,11,0,Ԫ,����,�ö�ֻ����¶�,���,1308,4,0,Ԫ,����,�ö�ֻ���ɽ,����,1312,2,0,Ԫ,����,�ö�ֻ�����������˴�,����,1314,7,0,Ԫ,����,�ö�ֻ�������������_,�ӵv,1321,3,0,Ԫ,Ӣ��,�ö�ֻ���˶�°���,����,1324,5,0,Ԫ,̩����,�ö�ֻ�Ҳ����ľ��,̩��,1328,1,0,Ԫ,̩����,�ö�ֻ�Ҳ����ľ��,����,'
            + '1328,1,0,Ԫ,����,�ö�ֻ����ټ���,��˳,1328,3,0,Ԫ,����,�ö�ֻ�ͼ������,����,1330,3,0,Ԫ,����,�ö�ֻ�ͼ������,��˳,1333,3,0,Ԫ,����,�ö�ֻ�����������,Ԫͳ,1335,6,0,Ԫ,����,�ö�ֻ�����������,��Ԫ,1341,28,0,Ԫ,����,�ö�ֻ�����������,����,1368,31,0,��,̫��,��Ԫ�,����,1399,4,0,��,�ݵ�,���ʜ�,����,1403,22,0,��,����,���,����,1425,1,0,��,����,��߳�,����,1426,10,0,��,����,��հ��,���,1436,14,0,��,Ӣ��,������,��ͳ,1450,7,0,��,����,������,��̩,1457,8,0,��,Ӣ��,������,��˳,1465,23,0,��,����,�����,�ɻ�,'
            + '1488,18,0,��,Т��,��v��,����,1506,16,0,��,����,�����,���,1522,45,0,��,����,����,�ξ�,1567,6,0,��,����,���غ�,¡��,1573,48,0,��,����,����,����,1620,1,0,��,����,�쳣��,̩��,1621,7,0,��,����,��ͬУ,����,1628,17,0,��,����,���ɼ�,����,1644,18,0,��,����,���¾��޸���,˳��,1662,61,0,��,ʥ��,���¾�������,����,1723,13,0,��,����,���¾���ط�G,Ӻ��,1736,60,0,��,����,���¾��޺���,Ǭ¡,1796,25,0,��,����,���¾����J��,����,1821,30,0,��,����,���¾��ޕF��,����,1851,11,0,��,����,���¾������},�̷�,'
            + '1862,13,0,��,����,���¾����ش�,ͬ��,1875,34,0,��,����,���¾����؜�,����,1909,3,0,��,�޳�,���¾�������,��ͳ,1912,37,0,���ִ�,�л����,,���,1949,9999,1948,����,�й�,,�����Ԫ';

        this.JNB = s.split(',');
        for (i = 0; i < this.JNB.length; i += 7) {
            this.JNB[i] -= 0;
            this.JNB[i + 1] -= 0;
            this.JNB[i + 2] -= 0;
        }

    },

    getNH: function (y) { //ȡ���
        var i, j, c, s = '', ob = this.JNB;
        for (i = 0; i < ob.length; i += 7) {
            j = ob[i];
            if (y < j || y >= j + ob[i + 1]) continue;
            c = ob[i + 6] + (y - j + 1 + ob[i + 2]) + '��'; //��ż����
            s += (s ? ';' : '') + '[' + ob[i + 3] + ']' + ob[i + 4] + ' ' + ob[i + 5] + ' ' + c; //iΪ���Ԫ��,i+3����,i+4����,i+5�ʵ�,i+6���
        }
        return s;
    },

    getDayName: function (u, r) { //����ũ�����
                                  //��ũ�����ڲ���������ڼ���
        var d = u.Lmc + (u.Lmc.length < 2 ? '��' : '') + u.Ldc;
        if (u.Lleap != '��') {
            if (d == '���³�һ') r.A += '���� ', r.Fjia = 1; //Fjia(�ż�)
            if (d == '���³���') r.B += '������� ', r.Fjia = 1;
            if (d == '���³���') r.A += '����� ', r.Fjia = 1;
            if (d == '����ʮ��') r.A += '����� ', r.Fjia = 1;
            if (d == '����ʮ��') r.A += 'Ԫ��� ', r.B += '��Ԫ�� ', r.C += '׳������ �����ɽ�� ���Ӷ��忨�� ';
            if (d == '����ʮ��') r.C += '����«�Ͻ�(�����¶�ʮ) ';
            if (d == '����إ��') r.C += '��ֽ� ';
            if (d == '����إ��') r.C += '������ ';
            if (d == '���³�һ') r.C += '�������� ';
            if (d == '���³���') r.B += '�����(��̧ͷ) ', r.C += '�����׽� ';
            if (d == '���³���') r.C += '�����嵶�˽� ';
            if (d == '���³���') r.B += '���۵� ', r.C += '������������ ';
            if (d == '����ʮ��') r.C += '�������½�(�����¶�ʮ) ';
            if (d == '����إ��') r.B += '��� ���浮 ';
            if (d == '���³���') r.B += 'ţ���� ';
            if (d == '����ʮ��') r.C += '������Ǩ�� ';
            if (d == '����ʮ��') r.B += '�ص۵� ', r.C += '��������ˮ�� ';
            if (d == '����إ��') r.C += '���¿�������³�� ';
            if (d == '����إ��') r.C += '�����Ŭ�� ';
            if (d == '���³���') r.B += '�ùý� ���ܽ� ', r.C += '׳������ ���峢�½� ';
            if (d == '����إ��') r.C += '��ѽڡ��ǻؽ�(�͡��ס�����������������ŵ�� ) ';
            if (d == '���³���') r.B += '��Ϧ(�й����˽�,���ɽ�,Ů��� ) ';
            if (d == '����ʮ��') r.C += '������½� ';
            if (d == '����ʮ��') r.B += '��Ԫ�� ���';
            if (d == '���³���') r.B += '������ ';
            if (d == 'ʮ�³�һ') r.B += '�����(ʮ�³�) ';
            if (d == 'ʮ��ʮ��') r.B += '��Ԫ�� ';
            if (d == 'ʮ��ʮ��') r.C += '���������� ';
            if (d == 'ʮ������') r.B += '���˽� ';
        }
        if (u.Lmc2 == '��') { //���һ��
            if (d == 'ʮ����ʮ' && u.Ldn == 30)  r.A += '��Ϧ ', r.Fjia = 1;
            if (d == 'ʮ��إ��' && u.Ldn == 29)  r.A += '��Ϧ ', r.Fjia = 1;
            if (d == 'ʮ��إ��') r.B += 'С�� ';
        }
        if (u.Ljq) {
            if (u.Ljq == "����") r.A += u.Ljq + ' ', r.Fjia = 1;
            else r.B += u.Ljq + ' ';
        }

        //ũ���ӽ�
        var w, w2;
        if (u.cur_dz >= 0 && u.cur_dz < 81) { //���
            w = obb.numCn[Math.floor(u.cur_dz / 9) + 1];
            if (u.cur_dz % 9 == 0) r.B += '��' + w + '�š� ';
            else r.C += w + '�ŵ�' + (u.cur_dz % 9 + 1) + '�� ';
        }

        w = u.Lday2.substr(0, 1);
        w2 = u.Lday2.substr(1, 1);
        if (u.cur_xz >= 20 && u.cur_xz < 30 && w == '��') r.B += '���� ';
        if (u.cur_xz >= 30 && u.cur_xz < 40 && w == '��') r.B += '�з� ';
        if (u.cur_lq >= 0 && u.cur_lq < 10 && w == '��') r.B += 'ĩ�� ';
        if (u.cur_mz >= 0 && u.cur_mz < 10 && w == '��') r.B += '��÷ ';
        if (u.cur_xs >= 0 && u.cur_xs < 12 && w2 == 'δ') r.B += '��÷ ';
    },

    mingLiBaZi: function (jd, J, ob) { //������ּ��㡣jdΪ��������UT(J2000����),JΪ���ؾ���,���������ob��
        var i, c, v;
        var jd2 = jd + dt_T(jd); //��ѧʱ
        var w = XL.S_aLon(jd2 / 36525, -1); //�˿�̫���ӻƾ�
        var k = int2((w / pi2 * 360 + 45 + 15 * 360) / 30); //1984����������Ľ�����(��������)
        jd += pty_zty2(jd2 / 36525) + J / Math.PI / 2; //������̫��ʱ(ʹ�õ;����㷨����ʱ��)
        ob.bz_zty = JD.timeStr(jd);

        jd += 13 / 24; //תΪǰһ��23������(ԭjdΪ��������12������)
        var D = Math.floor(jd), SC = int2((jd - D) * 12); //������ʱ��

        v = int2(k / 12 + 6000000);
        ob.bz_jn = this.Gan[v % 10] + this.Zhi[v % 12];
        v = k + 2 + 60000000;
        ob.bz_jy = this.Gan[v % 10] + this.Zhi[v % 12];
        v = D - 6 + 9000000;
        ob.bz_jr = this.Gan[v % 10] + this.Zhi[v % 12];
        v = (D - 1) * 12 + 90000000 + SC;
        ob.bz_js = this.Gan[v % 10] + this.Zhi[v % 12];

        v -= SC, ob.bz_JS = ''; //ȫ���ʱ��
        for (i = 0; i < 13; i++) { //һ���а���13����ʱ
            c = this.Gan[(v + i) % 10] + this.Zhi[(v + i) % 12]; //��ʱ���İ���
            if (SC == i) ob.bz_js = c, c = '<font color=red>' + c + '</font>'; //��ɫ��ʾ��ʱ��
            ob.bz_JS += (i ? ' ' : '') + c;
        }
    },

    qi_accurate: function (W) {
        var t = XL.S_aLon_t(W) * 36525;
        return t - dt_T(t) + 8 / 24;
    }, //����
    so_accurate: function (W) {
        var t = XL.MS_aLon_t(W) * 36525;
        return t - dt_T(t) + 8 / 24;
    }, //��˷
    qi_accurate2: function (jd) { //����
        var d = Math.PI / 12;
        var w = Math.floor((jd + 293) / 365.2422 * 24) * d;
        var a = this.qi_accurate(w);
        if (a - jd > 5) return this.qi_accurate(w - d);
        if (a - jd < -5) return this.qi_accurate(w + d);
        return a;
    },
    so_accurate2: function (jd) {
        return this.so_accurate(Math.floor((jd + 8) / 29.5306) * Math.PI * 2);
    } //��˷

};

obb.init();


/************************
 ʵ��ʵ˷������
 ���÷�Χ -722��2��22�ա���1959��12��
 ƽ��ƽ˷����ʹ�ù��������м���
 ��˷���������ʹ�ÿ�������Բ������㣬ͬʱ�����˹��в����ѧʱ��UT1��ʱ���
 �Ŵ�����������ڲ�ʹ�ÿ����շ������㣬��ǰ�����һЩ����?��ֵ�õ������Ⱥܵͣ��뱾������
 �Ŀ����շ������������˷�ռ������1ǧ�������Щ����ʹ��һ���������ж���ͬ�����
 Ҳʹ������ͬ�ķ���ʱ�ж���
 ƽ��˷����㷨(�������)��
 ��˷���ڼ��㹫ʽ��D = k*n + b  , ʽ��n=0,1,2,3,...,N-1, NΪ��ʽ���õķ�Χ
 h��ʾk����b��������,���b������k������Ϊh/N
 ÿ�е�1������Ϊk,��2����Ϊb
 public�ж���ĳ�Ա����ֱ��ʹ��
 *************************/

var SSQ = { //ʵ˷ʵ�������
    //private��Ա����
    SB: '', //˷�����
    QB: '', //�������
    suoKB: new Array( //˷ֱ����ϲ���
        1457698.231017, 29.53067166, // -721-12-17 h=0.00032 ������
        1546082.512234, 29.53085106, // -479-12-11 h=0.00053 ����ս��
        1640640.735300, 29.53060000, // -221-10-31 h=0.01010 �����غ�
        1642472.151543, 29.53085439, // -216-11-04 h=0.00040 �����غ�

        1683430.509300, 29.53086148, // -104-12-25 h=0.00313 ���顤����־(̫����)ƽ��ƽ˷
        1752148.041079, 29.53085097, //   85-02-13 h=0.00049 ���顤����־(�ķ���)
        1807665.420323, 29.53059851, //  237-02-12 h=0.00033 ���顤����־(������)
        1883618.114100, 29.53060000, //  445-01-24 h=0.00030 ���顤����־(�γ���Ԫ����)
        1907360.704700, 29.53060000, //  510-01-26 h=0.00030 ���顤����־(���֮������)
        1936596.224900, 29.53060000, //  590-02-10 h=0.01010 ���顤����־(������)
        1939135.675300, 29.53060000, //  597-01-24 h=0.00890 ���顤����־(��ҵ��)
        1947168.00//  619-01-21
    ),

    qiKB: new Array( //��ֱ����ϲ���
        1640650.479938, 15.21842500, // -221-11-09 h=0.01709 �����غ�
        1642476.703182, 15.21874996, // -216-11-09 h=0.01557 �����غ�

        1683430.515601, 15.218750011, // -104-12-25 h=0.01560 ���顤����־(̫����)ƽ��ƽ˷ �ع���=365.25000
        1752157.640664, 15.218749978, //   85-02-23 h=0.01559 ���顤����־(�ķ���) �ع���=365.25000
        1807675.003759, 15.218620279, //  237-02-22 h=0.00010 ���顤����־(������) �ع���=365.24689
        1883627.765182, 15.218612292, //  445-02-03 h=0.00026 ���顤����־(�γ���Ԫ����) �ع���=365.24670
        1907369.128100, 15.218449176, //  510-02-03 h=0.00027 ���顤����־(���֮������) �ع���=365.24278
        1936603.140413, 15.218425000, //  590-02-17 h=0.00149 ���顤����־(������) �ع���=365.24220
        1939145.524180, 15.218466998, //  597-02-03 h=0.00121 ���顤����־(��ҵ��) �ع���=365.24321
        1947180.798300, 15.218524844, //  619-02-03 h=0.00052 �����顤��־(����Ԫ��)ƽ��˷ �ع���=365.24460
        1964362.041824, 15.218533526, //  666-02-17 h=0.00059 �����顤��־(�����) �ع���=365.24480
        1987372.340971, 15.218513908, //  729-02-16 h=0.00096 �����顤��־(������,������) �ع���=365.24433
        1999653.819126, 15.218530782, //  762-10-03 h=0.00093 �����顤��־(�����) �ع���=365.24474
        2007445.469786, 15.218535181, //  784-02-01 h=0.00059 �����顤��־(��Ԫ��,������) �ع���=365.24484
        2021324.917146, 15.218526248, //  822-02-01 h=0.00022 �����顤��־(������) �ع���=365.24463
        2047257.232342, 15.218519654, //  893-01-31 h=0.00015 �����顤��־(������) �ع���=365.24447
        2070282.898213, 15.218425000, //  956-02-16 h=0.00149 �������־(������) �ع���=365.24220
        2073204.872850, 15.218515221, //  964-02-16 h=0.00166 ��ʷ������־(Ӧ����) �ع���=365.24437
        2080144.500926, 15.218530782, //  983-02-16 h=0.00093 ��ʷ������־(ǬԪ��) �ع���=365.24474
        2086703.688963, 15.218523776, // 1001-01-31 h=0.00067 ��ʷ������־(������,������) �ع���=365.24457
        2110033.182763, 15.218425000, // 1064-12-15 h=0.00669 ��ʷ������־(������) �ع���=365.24220
        2111190.300888, 15.218425000, // 1068-02-15 h=0.00149 ��ʷ������־(������) �ع���=365.24220
        2113731.271005, 15.218515671, // 1075-01-30 h=0.00038 ������(��Ԫ��) �ع���=365.24438
        2120670.840263, 15.218425000, // 1094-01-30 h=0.00149 ��ʷ������־ �ع���=365.24220
        2123973.309063, 15.218425000, // 1103-02-14 h=0.00669 ������(ռ����) �ع���=365.24220
        2125068.997336, 15.218477932, // 1106-02-14 h=0.00056 ��ʷ������־(��Ԫ��) �ع���=365.24347
        2136026.312633, 15.218472436, // 1136-02-14 h=0.00088 ��ʷ������־(ͳԪ��,Ǭ����,������) �ع���=365.24334
        2156099.495538, 15.218425000, // 1191-01-29 h=0.00149 ��ʷ������־(��Ԫ��) �ع���=365.24220
        2159021.324663, 15.218425000, // 1199-01-29 h=0.00149 ��ʷ������־(ͳ����) �ع���=365.24220
        2162308.575254, 15.218461742, // 1208-01-30 h=0.00146 ��ʷ������־(������) �ع���=365.24308
        2178485.706538, 15.218425000, // 1252-05-15 h=0.04606 ���v�� �ع���=365.24220
        2178759.662849, 15.218445786, // 1253-02-13 h=0.00231 ������ �ع���=365.24270
        2185334.020800, 15.218425000, // 1271-02-13 h=0.00520 ��ʷ������־(������) �ع���=365.24220
        2187525.481425, 15.218425000, // 1277-02-12 h=0.00520 ������ �ع���=365.24220
        2188621.191481, 15.218437494, // 1280-02-13 h=0.00015 Ԫʷ����־(���ؾ���ʱ��) �ع���=365.24250
        2322147.76// 1645-09-21
    ),
    so_low: function (W) { //�;��ȶ�˷����,��2000����600�������2Сʱ����(�ԱȹŴ�����׼�ܶ�)
        var v = 7771.37714500204;
        var t = ( W + 1.08472 ) / v, L;
        t -= ( -0.0000331 * t * t
            + 0.10976 * Math.cos(0.785 + 8328.6914 * t)
            + 0.02224 * Math.cos(0.187 + 7214.0629 * t)
            - 0.03342 * Math.cos(4.669 + 628.3076 * t) ) / v
            + (32 * (t + 1.8) * (t + 1.8) - 20) / 86400 / 36525;
        return t * 36525 + 8 / 24;
    },
    qi_low: function (W) { //������С��30���ӣ�ƽ��5��
        var t, L, v = 628.3319653318;
        t = ( W - 4.895062166 ) / v; //��һ�ι���,���2������
        t -= ( 53 * t * t + 334116 * Math.cos(4.67 + 628.307585 * t) + 2061 * Math.cos(2.678 + 628.3076 * t) * t ) / v / 10000000; //�ڶ��ι���,���2Сʱ����

        L = 48950621.66 + 6283319653.318 * t + 53 * t * t //ƽ�ƾ�
            + 334166 * Math.cos(4.669257 + 628.307585 * t) //������Բ�������չ��
            + 3489 * Math.cos(4.6261 + 1256.61517 * t) //������Բ�������չ��
            + 2060.6 * Math.cos(2.67823 + 628.307585 * t) * t  //һ�β�����
            - 994 - 834 * Math.sin(2.1824 - 33.75705 * t); //���в����¶�����

        t -= (L / 10000000 - W ) / 628.332 + (32 * (t + 1.8) * (t + 1.8) - 20) / 86400 / 36525;
        return t * 36525 + 8 / 24;
    },
    qi_high: function (W) { //�ϸ߾�����
        var t = XL.S_aLon_t2(W) * 36525;
        t = t - dt_T(t) + 8 / 24;
        var v = ( (t + 0.5) % 1 ) * 86400;
        if (v < 1200 || v > 86400 - 1200) t = XL.S_aLon_t(W) * 36525 - dt_T(t) + 8 / 24;
        return t;
    },
    so_high: function (W) { //�ϸ߾���˷
        var t = XL.MS_aLon_t2(W) * 36525;
        t = t - dt_T(t) + 8 / 24;
        var v = ( (t + 0.5) % 1 ) * 86400;
        if (v < 1800 || v > 86400 - 1800) t = XL.MS_aLon_t(W) * 36525 - dt_T(t) + 8 / 24;
        return t;
    },

    jieya: function (s) { //��˷��ѹ��
        var o = "0000000000", o2 = o + o;
        s = s.replace(/J/g, '00');
        s = s.replace(/I/g, '000');
        s = s.replace(/H/g, '0000');
        s = s.replace(/G/g, '00000');
        s = s.replace(/t/g, '02');
        s = s.replace(/s/g, '002');
        s = s.replace(/r/g, '0002');
        s = s.replace(/q/g, '00002');
        s = s.replace(/p/g, '000002');
        s = s.replace(/o/g, '0000002');
        s = s.replace(/n/g, '00000002');
        s = s.replace(/m/g, '000000002');
        s = s.replace(/l/g, '0000000002');
        s = s.replace(/k/g, '01');
        s = s.replace(/j/g, '0101');
        s = s.replace(/i/g, '001');
        s = s.replace(/h/g, '001001');
        s = s.replace(/g/g, '0001');
        s = s.replace(/f/g, '00001');
        s = s.replace(/e/g, '000001');
        s = s.replace(/d/g, '0000001');
        s = s.replace(/c/g, '00000001');
        s = s.replace(/b/g, '000000001');
        s = s.replace(/a/g, '0000000001');
        s = s.replace(/A/g, o2 + o2 + o2);
        s = s.replace(/B/g, o2 + o2 + o);
        s = s.replace(/C/g, o2 + o2);
        s = s.replace(/D/g, o2 + o);
        s = s.replace(/E/g, o2);
        s = s.replace(/F/g, o);
        return s;
    },
    init: function () { //��ʹ�û�
        var suoS, qiS;
        //  619-01-21��ʼ16598��˷������� d0=1947168
        suoS = "EqoFscDcrFpmEsF2DfFideFelFpFfFfFiaipqti1ksttikptikqckstekqttgkqttgkqteksttikptikq2fjstgjqttjkqttgkqt";
        suoS += "ekstfkptikq2tijstgjiFkirFsAeACoFsiDaDiADc1AFbBfgdfikijFifegF1FhaikgFag1E2btaieeibggiffdeigFfqDfaiBkF";
        suoS += "1kEaikhkigeidhhdiegcFfakF1ggkidbiaedksaFffckekidhhdhdikcikiakicjF1deedFhFccgicdekgiFbiaikcfi1kbFibef";
        suoS += "gEgFdcFkFeFkdcfkF1kfkcickEiFkDacFiEfbiaejcFfffkhkdgkaiei1ehigikhdFikfckF1dhhdikcfgjikhfjicjicgiehdik";
        suoS += "cikggcifgiejF1jkieFhegikggcikFegiegkfjebhigikggcikdgkaFkijcfkcikfkcifikiggkaeeigefkcdfcfkhkdgkegieid";
        suoS += "hijcFfakhfgeidieidiegikhfkfckfcjbdehdikggikgkfkicjicjF1dbidikFiggcifgiejkiegkigcdiegfggcikdbgfgefjF1";
        suoS += "kfegikggcikdgFkeeijcfkcikfkekcikdgkabhkFikaffcfkhkdgkegbiaekfkiakicjhfgqdq2fkiakgkfkhfkfcjiekgFebicg";
        suoS += "gbedF1jikejbbbiakgbgkacgiejkijjgigfiakggfggcibFifjefjF1kfekdgjcibFeFkijcfkfhkfkeaieigekgbhkfikidfcje";
        suoS += "aibgekgdkiffiffkiakF1jhbakgdki1dj1ikfkicjicjieeFkgdkicggkighdF1jfgkgfgbdkicggfggkidFkiekgijkeigfiski";
        suoS += "ggfaidheigF1jekijcikickiggkidhhdbgcfkFikikhkigeidieFikggikhkffaffijhidhhakgdkhkijF1kiakF1kfheakgdkif";
        suoS += "iggkigicjiejkieedikgdfcggkigieeiejfgkgkigbgikicggkiaideeijkefjeijikhkiggkiaidheigcikaikffikijgkiahi1";
        suoS += "hhdikgjfifaakekighie1hiaikggikhkffakicjhiahaikggikhkijF1kfejfeFhidikggiffiggkigicjiekgieeigikggiffig";
        suoS += "gkidheigkgfjkeigiegikifiggkidhedeijcfkFikikhkiggkidhh1ehigcikaffkhkiggkidhh1hhigikekfiFkFikcidhh1hit";
        suoS += "cikggikhkfkicjicghiediaikggikhkijbjfejfeFhaikggifikiggkigiejkikgkgieeigikggiffiggkigieeigekijcijikgg";
        suoS += "ifikiggkideedeijkefkfckikhkiggkidhh1ehijcikaffkhkiggkidhh1hhigikhkikFikfckcidhh1hiaikgjikhfjicjicgie";
        suoS += "hdikcikggifikigiejfejkieFhegikggifikiggfghigkfjeijkhigikggifikiggkigieeijcijcikfksikifikiggkidehdeij";
        suoS += "cfdckikhkiggkhghh1ehijikifffffkhsFngErD1pAfBoDd1BlEtFqA2AqoEpDqElAEsEeB2BmADlDkqBtC1FnEpDqnEmFsFsAFn";
        suoS += "llBbFmDsDiCtDmAB2BmtCgpEplCpAEiBiEoFqFtEqsDcCnFtADnFlEgdkEgmEtEsCtDmADqFtAFrAtEcCqAE1BoFqC1F1DrFtBmF";
        suoS += "tAC2ACnFaoCgADcADcCcFfoFtDlAFgmFqBq2bpEoAEmkqnEeCtAE1bAEqgDfFfCrgEcBrACfAAABqAAB1AAClEnFeCtCgAADqDoB";
        suoS += "mtAAACbFiAAADsEtBqAB2FsDqpFqEmFsCeDtFlCeDtoEpClEqAAFrAFoCgFmFsFqEnAEcCqFeCtFtEnAEeFtAAEkFnErAABbFkAD";
        suoS += "nAAeCtFeAfBoAEpFtAABtFqAApDcCGJ";

        //1645-09-23��ʼ7567�����������
        qiS = "FrcFs22AFsckF2tsDtFqEtF1posFdFgiFseFtmelpsEfhkF2anmelpFlF1ikrotcnEqEq2FfqmcDsrFor22FgFrcgDscFs22FgEe";
        qiS += "FtE2sfFs22sCoEsaF2tsD1FpeE2eFsssEciFsFnmelpFcFhkF2tcnEqEpFgkrotcnEqrEtFermcDsrE222FgBmcmr22DaEfnaF22";
        qiS += "2sD1FpeForeF2tssEfiFpEoeFssD1iFstEqFppDgFstcnEqEpFg11FscnEqrAoAF2ClAEsDmDtCtBaDlAFbAEpAAAAAD2FgBiBqo";
        qiS += "BbnBaBoAAAAAAAEgDqAdBqAFrBaBoACdAAf1AACgAAAeBbCamDgEifAE2AABa1C1BgFdiAAACoCeE1ADiEifDaAEqAAFe1AcFbcA";
        qiS += "AAAAF1iFaAAACpACmFmAAAAAAAACrDaAAADG0";

        this.SB = this.jieya(suoS);  //��˷������ѹ
        this.QB = this.jieya(qiS);   //����������ѹ
    },

    //public���г�Ա����
    calc: function (jd, qs) { //jdӦ������Ҫȡ�õ���˷��,qs='��'ʱ��������������
        jd += 2451545;
        var i, D, n;
        var B = this.suoKB, pc = 14;
        if (qs == '��') B = this.qiKB, pc = 7;
        var f1 = B[0] - pc, f2 = B[B.length - 1] - pc, f3 = 2436935;

        if (jd < f1 || jd >= f3) { //ƽ��˷�����׸�֮ǰ��ʹ���ִ������㷨��1960.1.1�Ժ�ʹ���ִ������㷨 (��һ���ֵ�����qi_high��so_high,�����������֧��)
            if (qs == '��') return Math.floor(this.qi_high(Math.floor((jd + pc - 2451259) / 365.2422 * 24) * Math.PI / 12) + 0.5); //2451259��1999.3.21,̫���ӻƾ�Ϊ0,����.�������
            else         return Math.floor(this.so_high(Math.floor((jd + pc - 2451551) / 29.5306) * Math.PI * 2) + 0.5); //2451551��2000.1.7���Ǹ�˷��,�ƾ���Ϊ0.��˷����
        }

        if (jd >= f1 && jd < f2) { //ƽ���ƽ˷
            for (i = 0; i < B.length; i += 2)  if (jd + pc < B[i + 2]) break;
            D = B[i] + B[i + 1] * Math.floor((jd + pc - B[i]) / B[i + 1]);
            D = Math.floor(D + 0.5);
            if (D == 1683460) D++; //���ʹ��̫�������-103��1��24�յ�˷��,���õ�����23��,��������Ϊ24��(ʵ��)��������Բ�Ӱ��-103�������������ʹ���غ���õ�����24�գ�����D���ᱻִ�С�
            return D - 2451545;
        }

        if (jd >= f2 && jd < f3) { //�����˷
            if (qs == '��') {
                D = Math.floor(this.qi_low(Math.floor((jd + pc - 2451259) / 365.2422 * 24) * Math.PI / 12) + 0.5); //2451259��1999.3.21,̫���ӻƾ�Ϊ0,����.�������
                n = this.QB.substr(Math.floor((jd - f2) / 365.2422 * 24), 1); //�Ҷ�������ֵ
            } else {
                D = Math.floor(this.so_low(Math.floor((jd + pc - 2451551) / 29.5306) * Math.PI * 2) + 0.5); //2451551��2000.1.7���Ǹ�˷��,�ƾ���Ϊ0.��˷����
                n = this.SB.substr(Math.floor((jd - f2) / 29.5306), 1); //�Ҷ�˷����ֵ
            }
            if (n == "1") return D + 1;
            if (n == "2") return D - 1;
            return D;
        }
    },

    //������(���ʵ������),�ڵ���calcY()��õ��������
    //ʱ��ϵͳȫ��ʹ�ñ���ʱ����ʹ������ʱ�̵������Ҳ��ʹ�ñ���ʱ
    //�������������ʹ�ñ���ʱ���������ʾ���ң������ص����޷������ȶ�
    leap: 0,         //����λ��
    ym: new Array(), //�������
    ZQ: new Array(), //�����,����.liqiu�ǽ��������������,�������ʱ�õ�
    HS: new Array(), //��˷��
    dx: new Array(), //���´�С
    Yn: new Array(), //�����

    calcY: function (jd) { //ũ�����������,�ɶ���ũ��,��Ч��Χ����������֮��(����һ <= d < ������)
        var A = this.ZQ, B = this.HS;  //�����,���º�˷��(����)
        var i, k, W, w;

        //�������
        W = int2((jd - 355 + 183) / 365.2422) * 365.2422 + 355;  //355��2000.12����,�õ��Ͽ���jd�Ķ�������ֵ
        if (this.calc(W, '��') > jd) W -= 365.2422;
        for (i = 0; i < 25; i++) A[i] = this.calc(W + 15.2184 * i, '��'); //25������ʱ��(����ʱ��),�Ӷ�����ʼ����һ�������Ժ�
        A.pe1 = this.calc(W - 15.2, '��');
        A.pe2 = this.calc(W - 30.4, '��'); //�������,ȷ��һ���������·ݵġ���ȫ������������

        //����"��˷"�����»ƾ���w
        w = this.calc(A[0], '˷'); //��Ͽ�������˷��
        if (w > A[0]) w -= 29.53;

        //��������˷,��14���µ�ʼĩ
        for (i = 0; i < 15; i++) B[i] = this.calc(w + 29.5306 * i, '˷');

        //�´�С
        this.leap = 0;
        for (i = 0; i < 14; i++) {
            this.dx[i] = this.HS[i + 1] - this.HS[i]; //�´�С
            this.ym[i] = i;  //�����ʼ��
        }


        //-721����-104��ĺ���¼��½�����,��˷�йأ������޹�
        var YY = int2((this.ZQ[0] + 10 + 180) / 365.2422) + 2000; //ȷ�����
        if (YY >= -721 && YY <= -104) {
            var ns = new Array(), yy;
            for (i = 0; i < 3; i++) {
                yy = YY + i - 1;
                //����������, �������, �½�
                if (yy >= -721) ns[i] = this.calc(1457698 - J2000 + int2(0.342 + (yy + 721) * 12.368422) * 29.5306, '˷'), ns[i + 3] = 'ʮ��', ns[i + 6] = 2;  //������,lyΪ-722.12.17
                if (yy >= -479) ns[i] = this.calc(1546083 - J2000 + int2(0.500 + (yy + 479) * 12.368422) * 29.5306, '˷'), ns[i + 3] = 'ʮ��', ns[i + 6] = 2;  //ս����,lyΪ-480.12.11
                if (yy >= -220) ns[i] = this.calc(1640641 - J2000 + int2(0.866 + (yy + 220) * 12.369000) * 29.5306, '˷'), ns[i + 3] = '���', ns[i + 6] = 11; //�غ���,lyΪ-221.10.31
            }
            var nn, f1;
            for (i = 0; i < 14; i++) {
                for (nn = 2; nn >= 0; nn--) if (this.HS[i] >= ns[nn]) break;
                f1 = int2((this.HS[i] - ns[nn] + 15) / 29.5306); //���»���
                if (f1 < 12) this.ym[i] = obb.ymc[(f1 + ns[nn + 6]) % 12]; else this.ym[i] = ns[nn + 3];
            }
            return;
        }


        //����������ȷ������,(��˷��Ϸ�,���Դ���ж�����ʼ�ĵ����˷)
        if (B[13] <= A[24]) { //��13�µ���ĩû�г�����(��������),˵�����꺬��13����
            for (i = 1; B[i + 1] > A[2 * i] && i < 13; i++); //��13�������ҵ�1��û��������·�
            this.leap = i;
            for (; i < 14; i++) this.ym[i]--;
        }

        //���ת��(�½�����)
        for (i = 0; i < 14; i++) {
            var Dm = this.HS[i] + J2000, v2 = this.ym[i]; //Dm��һ��������,v2Ϊ�½����
            var mc = obb.ymc[v2 % 12]; //�½���Ӧ��Ĭ������ƣ�����ʮһ,����ʮ��,����Ϊ��
            if (Dm >= 1724360 && Dm <= 1729794) mc = obb.ymc[(v2 + 1) % 12]; //  8.01.15�� 23.12.02 ����Ϊʮ��,����˳��
            else if (Dm >= 1807724 && Dm <= 1808699) mc = obb.ymc[(v2 + 1) % 12]; //237.04.12��239.12.13 ����Ϊʮ��,����˳��
            else if (Dm >= 1999349 && Dm <= 1999467) mc = obb.ymc[(v2 + 2) % 12]; //761.12.02��762.03.30 ����Ϊ����,����˳��
            else if (Dm >= 1973067 && Dm <= 1977052) {
                if (v2 % 12 == 0) mc = "��";
                if (v2 == 2) mc = 'һ';
            } //689.12.18��700.11.15 ����Ϊ����,����Ϊһ��,�����

            if (Dm == 1729794 || Dm == 1808699) mc = 'ʰ��'; //239.12.13��23.12.02��Ϊʮ����,Ϊ������������ʮ���£��˴�����

            this.ym[i] = mc;
        }
    }

};

SSQ.init();

/*********************************
 �����������ľ���ʵ�ַ���
 *********************************/


/*********************************
 =====�����ǹ���ũ������ۺ����������=====

 Lunar������������
 ʹ����������������eph.js���������ļ�

 ʵ��� var lun = new Lunar();
 һ�� yueLiCalc(By,Bm)����
 �����ܣ��������ÿ�յ�����Ϣ
 ����ڲ���
 By����(����)
 Bm����(����)
 �����أ�
 lun.w0= (Bd0 + J2000 +1)%7; //���µ�һ�������
 lun.y  �������
 lun.m  �����·�
 lun.d0 ������������
 lun.dn ������
 lun.Ly   ��֧����
 lun.ShX  �����Ӧ����Ф
 lun.nianhao ��ż���
 lun.lun[] ������Ϣ(����),�ն������ش˽ű�����ʼ��ע���ж���

 ����yueLiHTML(By,Bm)����
 �����ܣ��������ÿ�յ���ϸ��Ϣ�������HTML�����
 ����ڲ���
 By����(����)
 Bm����(����)
 �����أ�
 yueLiCalc(By,Bm)���ص���Ϣ
 lun.pg0 �����Ϣ
 lun.pg1 �����
 lun.pg2 ��������

 **********************************/


//�������
function Lunar() {
    var i;
    this.lun = new Array();
    for (i = 0; i < 31; i++) this.lun[i] = new Object();
    this.lun.dn = 0;

    this.substr2 = function (s, n, end) { //�ش�(��ҳ��ƶԹ���������ش���)
        s = s.replace(/(^\s*)|(\s*$)/g, "");
        if (s.length > n + 1) return s.substr(0, n) + end;
        return s;
    };

    //���ع���ĳһ���µ�'��ũ��'�����
    this.yueLiCalc = function (By, Bm) {
        var i, j, k, c, Bd0, Bdn;
        //���������ʼ��
        JD.h = 12, JD.m = 0, JD.s = 0.1;
        JD.Y = By;
        JD.M = Bm;
        JD.D = 1;
        Bd0 = int2(JD.toJD()) - J2000;  //��������,����
        JD.M++;
        if (JD.M > 12) JD.Y++, JD.M = 1;
        Bdn = int2(JD.toJD()) - J2000 - Bd0; //��������(����)

        this.w0 = (Bd0 + J2000 + 1 + 7000000) % 7; //���µ�һ�������
        this.y = By; //�������
        this.m = Bm; //�����·�
        this.d0 = Bd0;
        this.dn = Bdn;

        //�����������Ӧ��ũ���֧����
        c = By - 1984 + 12000;
        this.Ly = obb.Gan[c % 10] + obb.Zhi[c % 12];  //��֧����
        this.ShX = obb.ShX[c % 12]; //�����Ӧ����Ф
        this.nianhao = obb.getNH(By);

        var D, w, ob, ob2;

        //��ȡ������Ϣ

        for (i = 0, j = 0; i < Bdn; i++) {
            ob = this.lun[i];
            ob.d0 = Bd0 + i; //������,����ʱ12:00
            ob.di = i;     //��������������
            ob.y = By;    //������
            ob.m = Bm;    //������
            ob.dn = Bdn;   //����������
            ob.week0 = this.w0; //���׵�����
            ob.week = (this.w0 + i) % 7; //��ǰ�յ�����
            ob.weeki = int2((this.w0 + i) / 7); //�������ڵ������
            ob.weekN = int2((this.w0 + Bdn - 1) / 7) + 1;  //���µ�������
            JD.setFromJD(ob.d0 + J2000);
            ob.d = JD.D; //���������

            //ũ������
            if (!SSQ.ZQ.length || ob.d0 < SSQ.ZQ[0] || ob.d0 >= SSQ.ZQ[24]) //���d0���ڼ���ũ��Χ�����ټ���
                SSQ.calcY(ob.d0);
            var mk = int2((ob.d0 - SSQ.HS[0]) / 30);
            if (mk < 13 && SSQ.HS[mk + 1] <= ob.d0) mk++; //ũ�������µ�����

            ob.Ldi = ob.d0 - SSQ.HS[mk];   //��ũ�����׵ı�����,0��Ӧ��һ
            ob.Ldc = obb.rmc[ob.Ldi];      //ũ�������
            ob.cur_dz = ob.d0 - SSQ.ZQ[0];   //�ඬ��������
            ob.cur_xz = ob.d0 - SSQ.ZQ[12];  //������������
            ob.cur_lq = ob.d0 - SSQ.ZQ[15];  //�����������
            ob.cur_mz = ob.d0 - SSQ.ZQ[11];  //��â�ֵ�����
            ob.cur_xs = ob.d0 - SSQ.ZQ[13];  //��С�������
            if (ob.d0 == SSQ.HS[mk] || ob.d0 == Bd0) { //�µ���Ϣ
                ob.Lmc = SSQ.ym[mk]; //�����
                ob.Ldn = SSQ.dx[mk]; //�´�С
                ob.Lleap = (SSQ.leap && SSQ.leap == mk) ? '��' : ''; //��״��
                ob.Lmc2 = mk < 13 ? SSQ.ym[mk + 1] : "δ֪"; //�¸������,�жϳ�ϦʱҪ�õ�
            } else {
                ob2 = this.lun[i - 1];
                ob.Lmc = ob2.Lmc, ob.Ldn = ob2.Ldn;
                ob.Lleap = ob2.Lleap, ob.Lmc2 = ob2.Lmc2;
            }
            var qk = int2((ob.d0 - SSQ.ZQ[0] - 7) / 15.2184);
            if (qk < 23 && ob.d0 >= SSQ.ZQ[qk + 1]) qk++; //�����ȡֵ��Χ��0-23
            if (ob.d0 == SSQ.ZQ[qk]) ob.Ljq = obb.jqmc[qk];
            else ob.Ljq = '';

            ob.yxmc = ob.yxjd = ob.yxsj = '';//�������,����ʱ��(������),����ʱ�䴮
            ob.jqmc = ob.jqjd = ob.jqsj = '';//�������,����ʱ��(������),����ʱ�䴮

            //��֧���괦��
            //������Ϊ�綨����
            D = SSQ.ZQ[3] + (ob.d0 < SSQ.ZQ[3] ? -365 : 0) + 365.25 * 16 - 35; //������Ϊ�綨����
            ob.Lyear = Math.floor(D / 365.2422 + 0.5); //ũ�����(10����,1984������)
            //���¼��������³�һ������
            D = SSQ.HS[2]; //һ���3����Ϊ����
            for (j = 0; j < 14; j++) { //�Ҵ���
                if (SSQ.ym[j] != '��' || SSQ.leap == j && j) continue;
                D = SSQ.HS[j];
                if (ob.d0 < D) {
                    D -= 365;
                    break;
                } //����������һ������
            }
            D = D + 5810;  //������괺����1984��ƽ���(��������)����������
            ob.Lyear0 = Math.floor(D / 365.2422 + 0.5); //ũ�����(10����,1984������)

            D = ob.Lyear + 12000;
            ob.Lyear2 = obb.Gan[D % 10] + obb.Zhi[D % 12]; //��֧����(����)
            D = ob.Lyear0 + 12000;
            ob.Lyear3 = obb.Gan[D % 10] + obb.Zhi[D % 12]; //��֧����(����)
            ob.Lyear4 = ob.Lyear0 + 1984 + 2698; //�Ƶۼ���


            //���´���,1998��12��7(��ѩ)��ʼ������н������,0Ϊ����
            mk = int2((ob.d0 - SSQ.ZQ[0]) / 30.43685);
            if (mk < 12 && ob.d0 >= SSQ.ZQ[2 * mk + 1]) mk++;  //��Դ�ѩ���������,mk��ȡֵ��Χ0-12

            D = mk + int2((SSQ.ZQ[12] + 390) / 365.2422) * 12 + 900000; //�����1998��12��7(��ѩ)������,900000Ϊ�������
            ob.Lmonth = D % 12;
            ob.Lmonth2 = obb.Gan[D % 10] + obb.Zhi[D % 12];

            //����,2000��1��7������
            D = ob.d0 - 6 + 9000000;
            ob.Lday2 = obb.Gan[D % 10] + obb.Zhi[D % 12];

            //����
            mk = int2((ob.d0 - SSQ.ZQ[0] - 15) / 30.43685);
            if (mk < 11 && ob.d0 >= SSQ.ZQ[2 * mk + 2]) mk++; //���������µ�����,(���j=13,ob.d0���ᳬ���14������)
            ob.XiZ = obb.XiZ[(mk + 12) % 12] + '��';
            //����
            oba.getHuiLi(ob.d0, ob);
            //����
            ob.A = ob.B = ob.C = '';
            ob.Fjia = 0;
            oba.getDayName(ob, ob); //����
            obb.getDayName(ob, ob); //ũ��
        }

        //���������������Ĵ���
        var d, xn, jd2 = Bd0 + dt_T(Bd0) - 8 / 24;
        //�������
        w = XL.MS_aLon(jd2 / 36525, 10, 3);
        w = int2((w - 0.78) / Math.PI * 2) * Math.PI / 2;
        do {
            d = obb.so_accurate(w);
            D = int2(d + 0.5);
            xn = int2(w / pi2 * 4 + 4000000.01) % 4;
            w += pi2 / 4;
            if (D >= Bd0 + Bdn) break;
            if (D < Bd0) continue;
            ob = this.lun[D - Bd0];
            ob.yxmc = obb.yxmc[xn]; //ȡ���������
            ob.yxjd = d;
            ob.yxsj = JD.timeStr(d);
        } while (D + 5 < Bd0 + Bdn);

        //�������
        w = XL.S_aLon(jd2 / 36525, 3);
        w = int2((w - 0.13) / pi2 * 24) * pi2 / 24;
        do {
            d = obb.qi_accurate(w);
            D = int2(d + 0.5);
            xn = int2(w / pi2 * 24 + 24000006.01) % 24;
            w += pi2 / 24;
            if (D >= Bd0 + Bdn) break;
            if (D < Bd0) continue;
            ob = this.lun[D - Bd0];
            ob.jqmc = obb.jqmc[xn]; //ȡ�ý������
            ob.jqjd = d;
            ob.jqsj = JD.timeStr(d);
        } while (D + 12 < Bd0 + Bdn);
    };


    //html�������,������lun��,curJDΪ��ǰ����(�������ý��ձ�ʶ)
    this.yueLiHTML = function (By, Bm, curJD) {
        var sty_head = ' style="font-family: ����; font-size: 14px; text-align: center; background-color: #E0E0FF; color: #000000; font-weight: bold" ';
        var sty_body = ' style="font-family: ����; font-size: 12px; text-align: center " ';
        var sty_date = ' style="font-family: Arial Black; text-align: center;font-size: 20px" ';
        var sty_date2 = ' style="font-family: Arial Black; text-align: center;font-size: 20px; color: #FF0000" ';
        var sty_cur = ' style="background-color:#90D050" ';

        var i, j, c, c2, cr = "", isM;
        var ob; //�������

        this.yueLiCalc(By, Bm);    //ũ�����
        //��ݴ���
        c = this.nianhao + ' ũ��' + this.Ly + '�꡾' + this.ShX + '�꡿'; //��֧����
        if (c.length > 33) c = '<span style="font-size:12px">' + c + '</span>';
        else            c = '<span style="font-size:16px;font-weight:bold">' + c + '</span>';

        var ta0 = '<tr><td colspan=7 style="background-color:#0000A0" style="color=#FFFF00">' + c + '</td></tr>'; //��ʾ���

        //������
        ta0 += '<tr>'
            + '<td' + sty_head + 'width="%14">��</td>'
            + '<td' + sty_head + 'width="%14">һ</td>'
            + '<td' + sty_head + 'width="%14">��</td>'
            + '<td' + sty_head + 'width="%14">��</td>'
            + '<td' + sty_head + 'width="%14">��</td>'
            + '<td' + sty_head + 'width="%14">��</td>'
            + '<td' + sty_head + 'width="%14">��</td></tr>';
        for (i = 0; i < this.dn; i++) { //�����¸���(����)
            //���i�յ�����ҳ��
            ob = this.lun[i];
            if (!i) {
                for (j = 0; j < this.w0; j++) cr += '<td' + sty_body + '></td>';
            } //����ǰ��Ŀյ�Ԫ��

            c = '', isM = ''; //���ָ�ʽ������
            if (ob.A)   c += '<font color=red>' + this.substr2(ob.A, 4, '..') + '</font>';
            if (!c && ob.B)   c = '<font color=blue>' + this.substr2(ob.B, 4, '..') + '</font>';
            if (!c && ob.Ldc == "��һ") c = ob.Lleap + ob.Lmc + '��' + (ob.Ldn == 30 ? '��' : 'С'); //ũ������(���¼���С��)
            if (!c) c = ob.Ldc; //ȡũ�������

            if (ob.yxmc == "˷")   isM = '<font color=#505000>��</font>'; //ȡ����
            if (ob.yxmc == "��")   isM = '<font color=#F0B000>��</font>'; //ȡ����
            if (ob.yxmc == "����") isM = '<font color=#F0B000><b>��</b></font>';
            if (ob.yxmc == "����") isM = '<font color=#F0B000><b>��</b></font>';

            if (ob.jqmc) isM += '<font color=#00C000>��</font>'; //������

            if (ob.Fjia) c2 = sty_date2; //�����ú�ɫ
            else        c2 = sty_date;
            c2 += ' onmouseover="showMessD(' + i + ')"';
            c2 += ' onmouseout ="showMessD(-1)"';
            c2 = '<span' + c2 + '>' + ob.d + '</span>'; //����������

            if (ob.d0 == curJD) c2 = '<span' + sty_cur + '>' + c2 + '</span>'; //���ձ�ʶ


            cr += '<td' + sty_body + 'width="14%">' + c2 + '<br>' + isM + c + '</td>';
            if (i == this.dn - 1) {
                for (j = 0; j < 6 - ob.week; j++) cr += '<td' + sty_body + '></td>';
            } //ĩ�к���Ŀյ�Ԫ��
            if (i == this.dn - 1 || ob.week == 6) ta0 += '<tr>' + cr + '</tr>', cr = "";
        }
        this.pg1 = '<table border=0 cellpadding=3 cellspacing=1 width="100%">' + ta0 + '</table>';

        var b2 = '', b3 = '', b4 = '';
        for (i = 0; i < this.dn; i++) {
            ob = this.lun[i];
            c = i + 1;
            if (c < 10) c = '&nbsp;' + c;
            //if(ob.Ldc =='��һ') b1 += c +'�� '+ob.Lleap+ob.Lmc+'��' + (ob.Ldn==30?'��':'С')+' &nbsp;';
            if (ob.yxmc == '˷' || ob.yxmc == "��") b2 += c + '�� ' + ob.yxsj + ob.yxmc + '�� &nbsp;';
            if (ob.yxmc == '����' || ob.yxmc == "����") b3 += c + '�� ' + ob.yxsj + ob.yxmc + ' &nbsp;';
            if (ob.jqmc) b4 += c + '�� ' + ob.jqsj + ob.jqmc + ' &nbsp;';
        }
        this.pg2 = b2 + '<br>' + b3 + '<br>' + b4;
    };
}


/********************
 ����HTML���
 *********************/


function nianLiHTML(y) { //html�������
    var i, j, s = '', s1, s2, v, qi;
    SSQ.calcY(int2((y - 2000) * 365.2422 + 180));
    for (i = 0; i < 14; i++) {
        if (SSQ.HS[i + 1] > SSQ.ZQ[24]) break; //�Ѱ���һ��Ķ���
        if (SSQ.leap && i == SSQ.leap) s1 = '��'; else s1 = '��';
        s1 += SSQ.ym[i];
        if (s1.length < 3) s1 += '��';
        s1 += SSQ.dx[i] > 29 ? '��' : 'С';
        s1 += ' ' + JD.JD2str(SSQ.HS[i] + J2000).substr(6, 5);

        v = obb.so_accurate2(SSQ.HS[i]);
        s2 = '(' + JD.JD2str(v + J2000).substr(9, 11) + ')';
        if (int2(v + 0.5) != SSQ.HS[i]) s2 = '<font color=red>' + s2 + '</font>';
        //v=(v+0.5+J2000)%1; if(v>0.5) v=1-v; if(v<8/1440) s2 = '<u>'+s2+'</u>'; //�Կ���0��ļ�ע
        s1 += s2;

        for (j = -2; j < 24; j++) {
            if (j >= 0)  qi = SSQ.ZQ[j];
            if (j == -1) qi = SSQ.ZQ.pe1;
            if (j == -2) qi = SSQ.ZQ.pe2;

            if (qi < SSQ.HS[i] || qi >= SSQ.HS[i + 1]) continue;
            s1 += ' ' + obb.jqmc[(j + 24) % 24] + JD.JD2str(qi + J2000).substr(6, 5);

            v = obb.qi_accurate2(qi);
            s2 = '(' + JD.JD2str(v + J2000).substr(9, 11) + ')';
            if (int2(v + 0.5) != qi) s2 = '<font color=red>' + s2 + '</font>';
            //v=(v+0.5+J2000)%1; if(v>0.5) v=1-v; if(v<8/1440) s2 = '<u>'+s2+'</u>'; //�Կ���0��ļ�ע
            s1 += s2;
        }
        s += s1 + '<br>';
    }
    return s;
}

function nianLi2HTML(y) { //html�������
    var i, j, s = '', s1, s2, v, v2, qi;
    SSQ.calcY(int2((y - 2000) * 365.2422 + 180));
    for (i = 0; i < 14; i++) {
        if (SSQ.HS[i + 1] > SSQ.ZQ[24]) break; //�Ѱ���һ��Ķ���
        if (SSQ.leap && i == SSQ.leap) s1 = '��'; else s1 = '��';
        s1 += SSQ.ym[i];
        if (s1.length < 3) s1 += '��';
        s1 += SSQ.dx[i] > 29 ? '��' : 'С';
        v = SSQ.HS[i] + J2000;
        s1 += ' ' + obb.Gan[(v + 9) % 10] + obb.Zhi[(v + 1) % 12];
        s1 += ' ' + JD.JD2str(v).substr(6, 5);


        for (j = -2; j < 24; j++) {
            if (j >= 0)  qi = SSQ.ZQ[j];
            if (j == -1) qi = SSQ.ZQ.pe1;
            if (j == -2) qi = SSQ.ZQ.pe2;

            if (qi < SSQ.HS[i] || qi >= SSQ.HS[i + 1]) continue;
            v2 = qi + J2000;
            s1 += ' ' + obb.rmc[v2 - v] + obb.Gan[(v2 + 9) % 10] + obb.Zhi[(v2 + 1) % 12];
            s1 += obb.jqmc[(j + 24) % 24] + JD.JD2str(qi + J2000).substr(6, 5);
        }
        s += s1 + '<br>';
    }
    return s;
}


